const shsDB = require("../../db/index.js");
/**
 * 添加操作记录到数据库
 * @param {number} userId - 执行操作的用户ID
 * @param {string} operation - 操作的描述或类型
 * @param {string} tableName - 被操作的数据库表名
 * @param {number|null} recordId - 被操作记录的ID（如果没有则为null）
 * @param {string|null} oldValue - 操作前的旧值（如果没有则为null）
 * @param {string|null} newValue - 操作后的新值（如果没有则为null）
 */
const addOperationLog = (userId, operation, tableName, recordId = null, oldValue = null, newValue = null) => {
    const addLogQuery = 'INSERT INTO operation_logs (userId, operation, tableName, recordId, oldValue, newValue) VALUES (?, ?, ?, ?, ?, ?)';
    const params = [
        userId,
        operation,
        tableName,
        recordId,
        oldValue , 
        newValue 
    ];

    // 调用 shsDB 函数执行 SQL 插入语句
     shsDB(addLogQuery, params)
        .then(result => {
            // shsDB 应该返回一个包含 insertId 的结果对象
            // 我们返回这个 insertId，它是新插入记录的ID
            return result.insertId;
        })
        .catch(err => {
            // 如果有错误发生，我们将错误信息传递下去
            return Promise.reject(err);
        });
};

module.exports = addOperationLog;
